package net.hn.hnms.biz.intelligence.service;

import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.biz.intelligence.vo.*;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface SafetyIntelligenceService {

    ResponsePage<CollectGasAlarmVO> collectGasAlarm(
            int pageNum, int pageSize, String mineCode, Date startTime, Date endTime, String outlierType);

    Map<String, Object> querySensorValue(String pointCode, Date startTime, Date endTime, String outlierType);

    ResponsePage<CollectSuspectedSleepDutyVO> collectSuspectedSleepDuty(
            int pageNum, int pageSize, String mineCode, Date startTime, Date endTime, Double continueTimeLength);

    List<PersonTraceVO> personTrace(String orgId, String staffCode, Date wellTime, Date wellOutTime);

    ResponsePage<HydrogeoAmountAlarmStatisticsVO> collectHydrogeoAmountAlarmStatistics(
            int pageNum, int pageSize, String mineCode, Date startTime, Date endTime, String alarmType, String handleFlag);

    Map<String, Object> chartSumPersonCountForMineCode(String mineCode, Date startTime, Date endTime);

    Map<String, Object> chartStatisticsInOutStaff(String mineCode, Date startTime, Date endTime);

    ResponsePage<CollectPersonWellOutAbnormalCountVO> collectPersonWellOutAbnormalCount(int pageNum, int pageSize,
                                                                                        String mineCode, Date startTime,
                                                                                        Date endTime, String lowerLimit);

    List<PersonHistoryVO> collectPersonWellOutAbnormalDetailed(String mineCode, Date wellOutTime);

    List<CollectMineLeaderBlankVO>  collectMineLeaderBlankStatistics(String mineCode, String startDate, String endDate);
    List<CollectMineLeaderDetailVO> collectMineLeaderDetail(String mineCode, String startTime, String endTime);

    Map<String, Object> chartSumLeaderBlank(String mineCode, String startDate, String endDate);
}
